import 'dart:ui';

import 'package:wch/utils/log_utils.dart';
import 'package:wch/utils/toast_utils.dart';

class ColorUtils {
  static Color getColorFromHex(String hexColor) {
    LogUtils.log('hexColor=$hexColor');
    // 判断是否是带有#号的16进制颜色值
    if (hexColor.startsWith('#')) {
      hexColor = hexColor.substring(1); // 去除#号
    }
    // 判断字符串长度，分别处理6位和8位的情况
    if (hexColor.length == 6) {
      hexColor = 'FF$hexColor'; // 6位颜色值默认加上alpha值为FF
    } else if (hexColor.length == 5) {
      hexColor = 'FFF$hexColor'; // 5位颜色值默认加上alpha值为FFF
    } else if (hexColor.length != 8) {
      // throw ArgumentError("输入的颜色值格式不正确");
      // ToastUtils.showToast(msg: '颜色值格式不正确');
      hexColor = 'FF000000';
    }
    // 将字符串解析为16进制整数
    int colorValue = int.parse(hexColor, radix: 16);
    // 返回Color对象
    return Color(colorValue);
  }
}